home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Software Vault: The Gold Collection
/
Software Vault - The Gold Collection (American Databankers) (1993).ISO
/
cdr47
/
80x0393.zip
/
FEEP.ASM
< prev
next >
Wrap
Assembly Source File
|
1993-06-20
|
2KB
|
62 lines
;
; FEEP Timer interrupt diagnostic checker.
; Beeps while timer interrupt (int 08) is being serviced.
; Released to the public domain by Sam Warden 1992/10/13.
; TSR. Source compatible with MS MASM 5.1.
;
COUNT EQU 91 ; = 18.2 x 5 (5 sec. interval)
;
_TEXT SEGMENT PARA PUBLIC 'CODE'
ASSUME cs:_TEXT, ds:_TEXT, es:_TEXT, ss:_TEXT
ORG 100h
;
main: jmp SHORT init
;
counter DB COUNT
feeping DB 0
oldvec DD 0
;
handler: ; INT 08 handler
pushf ; 1st call original handler
call dword ptr cs:oldvec
;
cmp cs:feeping,1 ; if already feeping
jne feep
push ax
in al,61h ; stop
and al,0FCh
jmp SHORT $ + 2
out 61h,al
pop ax
mov cs:feeping,0
feep:
dec cs:counter
jnz go_on ; if counter = 0
mov cs:counter,COUNT ; reset
push ax
in al,61h ; and feep
or al,3
jmp SHORT $ + 2
out 61h,al
pop ax
mov cs:feeping,1
go_on: iret
;
tsr_end EQU $
;
init: mov es,ds:[002Ch] ; get pointer to env. from PSP
mov ah,49h ; release environment memory
int 21h
mov ax,3508h ; get timer interrupt vector
int 21h ; in es:bx
mov word ptr oldvec,bx ; and store it
mov word ptr oldvec+2,es
mov ax,2508h ; set new timer vector
mov dx,OFFSET handler
int 21h
mov dx,OFFSET tsr_end ; and go resident
int 27h
;
_TEXT ENDS
END main